Next: Searching for/replacing newlines, Previous: Controlling case sensitivity, Up: Common requests [Contents][Index]
To search for a single character that appears in the buffer as, for example, ‘\237’, you can type C-s C-q 2 3 7. Searching for all unprintable characters is best done with a regular expression (regexp) search. The easiest regexp to use for the unprintable chars is the complement of the regexp for the printable chars.
To type these special characters in an interactive argument to
isearch-forward-regexp or
re-search-forward, you need to use C-q.
(‘\t’, ‘\n’,
‘\r’, and ‘\f’
stand respectively for TAB, LFD, RET, and C-l.)
So, to search for unprintable characters using
re-search-forward:
M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET
Using isearch-forward-regexp:
C-M-s [^ TAB LFD C-q RET C-q C-l SPC -~]
To delete all unprintable characters, simply use replace-regexp:
M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET
Replacing is similar to the above. To replace all unprintable characters with a colon, use:
M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET